Using Hyper/J to implement Product-Lines: A Case Study
نویسنده
چکیده
Aspect-Oriented Programming (AOP) is an emerging technology whose goal is to modularize concerns that may involve several classes. The purpose of this report is to describe how one of the main representatives of AOP, namely Hyper/J, was used to implement a simple yet illustrative product-line of graph algorithms. 1 The Graph Product Line (GPL) The Graph Product-Line (GPL) [5] is a family of classical graph applications that was inspired by work on software extensibility [4, 8]. GPL is typical of product-lines in that applications are distinguished by the set of features that they implement, where no two applications implement the same set.1 Also typical is that applications are modeled as sentences of a grammar. Figure 1a2 shows this grammar, where tokens are names of features. Figure 1b shows a GUI that implements this grammar and allows GPL products to be specified declaratively as a series of radio-button and check-box selections. The semantics of GPL features, and the domain itself, are straightforward. A graph is either Directed or Undirected. Edges can be Weighted with non-negative numbers or Unweighted. Every graph application requires at most one search algorithm: breadth-first search (BFS) or depth-first search (DFS); and one or more of the following algorithms [2]: • Vertex Numbering (Number): Assigns a unique number to each vertex as a result of a graph traversal. • Connected Components (Connected): Computes the connected components of an undirected graph, which are equivalence classes under the reachable-from relation. For every pair of vertices x and y in an equivalence class, there is a path from x to y. • Strongly Connected Components (StronglyConnected): Computes the strongly connected components of a directed graph, which are equivalence classes under the reachable-from relation. A vertex y is reachable form vertex x if there is a path from x to y. 1. A feature is a functionality or implementation characteristic that is important to clients [3]. 2. The grammar does not preclude the repetition of algorithms, whereas the GUI does.
منابع مشابه
Using Markov Chain to Analyze Production Lines Systems with Layout Constraints
There are some problems with estimating the time required for the manufacturing process of products, especially when there is a variable serving time, like control stage. These problems will cause overestimation of process time. Layout constraints, reworking constraints and inflexible product schedule in multi product lines need a precise planning to reduce volume in particular situation of lin...
متن کاملRadio-adaptive doses effect on HT29 and MRC5 cell lines: comparison in hypo and hyper fractionation regime
Background: The exposure of cell lines to low-dose irradiation leads to changes at molecular level, which may induce adaptive response. We examined radio-adaptive doses effect on human colorectal adenocarcinoma cell line (HT29) and human fetal fibroblasts (MRC5) cell line followed by hyper and hypo fractionation regimes, with main purpose to decrease cell viability in HT29, and at the same time...
متن کاملRisk management in medical product development process using traditional FMEA and fuzzy linguistic approach: a case study
Medical product development (MPD) process is highly multidisciplinary in nature, which increases the complexity and the associated risks. Managing the risks during MPD process is very crucial. The objective of this research is to explore risks during MPD in a dental product manufacturing company and propose a model for risk mitigation during MPD process to minimize failure events. A case study ...
متن کاملInteractive Art Analysis Based on Baudrillard’s Hyper reality Theory, a Case Study of Digital Interactive installation
The contemporary philosopher Jean Baudrillard, one of the postmodernism theorists, considers representation in the contemporary world as a factor in the disappearance of reality. In his view, the main feature of new arts is not the expression of artistic beauty, but communication with the audience and expression of the artist’s ideas. In interactive art, the presence and role of the audience in...
متن کاملUsing AspectJ to Implement Product-Lines: A Case Study
Aspect-Oriented Programming (AOP) is an emerging technology whose goal is to modularize concerns that cross-cut multiple classes. The purpose of this report is to describe how one of the main representatives of AOP, namely AspectJ, was used to implement a simple yet illustrative product-line of graph algorithms so that we can focus on the implementation details. We expect that studies like this...
متن کامل